【服务框架】flask-接口服务

简介

参考:

实现

import models
from models import Customer
from flask import Flask, request, session, redirect, url_for, render_template, flash,json,jsonify
import os
app = Flask(__name__)
@app.route('/',methods = ['GET','POST'])
def enter_ID():
    if request.method == 'POST':
        Galactic_ID = request.form['Galactic_ID']
        if Customer(Galactic_ID).find():
            return redirect(url_for('relationships',ID=request.form.get('Galactic_ID')))
        else:
            return "Wrong Galactic_ID"
    else:
       return render_template('Gal.html')

@app.route('/Customer_relationships',defaults={'ID':'Galactic_ID'},methods=['GET','POST'])
@app.route('/Customer_relationships/<ID>',methods=['GET','POST'])
def relationships(ID):
    data = Customer(ID).get_relationships()
    return  render_template('rel.html',data= json.dumps(data))


if __name__ == '__main__':
    host = os.getenv('IP','0.0.0.0')
    port = int(os.getenv('PORT',5000))
    app.secret_key = os.urandom(24)
    app.run(host=host,port=port)
import requests,json

req = '{"cust":123, "seeds_path":"liuyan22/lookalike/seeds/tmp_liuyan22_system_lookalike_seed_novel", "extend": 5}'
url = 'http://127.0.0.1:5000/'
r = requests.post(url,data=json.dumps(req))
print(r.json())
 curl -H "Content-Type:application/json; charset=UTF-8;Data_Type:msg" -X POST --data '{"cust":123, "seeds_path":"liuyan22/lookalike/seeds/tmp_liuyan22_system_lookalike_seed_novel", "extend": 5}' 'http://10.41.20.196:5000/seeds_extend/'

报错

  • "POST / HTTP/1.1" 404 原因:请求地址不存在 解决:在代码中存在路径后缀,在发送请求的时候访问的url没有加后缀
  • socket.gaierror: [Errno -2] Name or service not known 原因:app.run()时host配置为0.0.0.0
  • socket.gaierror: [Errno 8] nodename nor servname provided, or not known
  • PermissionError: [Errno 13] Permission denied
  • "POST /seeds_extend HTTP/1.1" 500 原因:函数有问题[外部参数的传参;发送请求时,url必须以/结尾] 解决:检查代码逻辑

results matching ""

    No results matching ""